// 单例
// 立即执行函数是创建闭包的手段之一
let CreateSingleton=(function (){
    // 多了一层作用域 作用域链
    let instance;//实例
    return function(name){// constructor
        
        if(instance){
            return instance;
        }
        this.name=name;
        return instance=this;
    }
})();
CreateSingleton.prototype.getName=function(){
    console.log(this.name);
}
let singleton=new CreateSingleton('hhh');
let dl=new CreateSingleton('sss');
console.log(singleton===dl);
singleton.getName();
dl.getName();